import {
  request
} from "../../request/index.js";
import regeneratorRuntime from '../../lib/runtime/runtime';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 左侧的菜单数据
    leftCates: [],
    // 右侧的菜单数据
    rightCates: [],
    // 当前点击左侧菜单栏的索引
    currentIndex: 0,
    // 控制右侧滚动条距离顶部的距离变量
    scrollTop: 0
  },
  // 接口返回的数据
  Cates: [],
  onLoad: function (options) {
    // 数据缓存
    // 在获取数据之前，先前本地存储里面有没有数据，有就直接拿，没有就发请求保存本地数据
    const Cates = wx.getStorageSync("cates")
    if (!Cates) {
      // 不存在 发请求
      this.getCates();
    } else {
      // 有旧的数据  定义过期时间
      if (Date.now() - Cates.time > 100000 * 10) {
        // 重新发送请求
        this.getCates();
      } else {
        // 没有过期
        this.Cates = Cates.data;
        let leftCates = this.Cates.map(v => v.cat_name);
        let rightCates = this.Cates[0].children;
        this.setData({
          leftCates,
          rightCates
        })
      }
    }
  },

  // 获取分类数据
  async getCates() {
    // request({ url: "/categories" })
    //   .then(res => {
    // this.Cates = res.data.message

    // // 把接口数据存到本地存储中
    // wx.setStorageSync("cates", { time: Date.now(), data: this.Cates })

    // // console.log(this.Cates);
    // // 选取左侧的数据
    // let leftCates = this.Cates.map(v => v.cat_name)
    // let rightCates = this.Cates[0].children
    // this.setData({
    //   leftCates,
    //   rightCates
    // })
    //   })
    const res = await request({
      url: "/categories"
    })
    this.Cates = res

    // 把接口数据存到本地存储中
    wx.setStorageSync("cates", {
      time: Date.now(),
      data: this.Cates
    })

    // console.log(this.Cates);
    // 选取左侧的数据
    let leftCates = this.Cates.map(v => v.cat_name)
    let rightCates = this.Cates[0].children
    this.setData({
      leftCates,
      rightCates
    })

  },
  // 点击左侧菜单栏的回调
  handleItemTap(e) {
    let {
      index
    } = e.currentTarget.dataset
    // 根据不同的索引来渲染右侧的内容
    let rightCates = this.Cates[index].children
    // 给data中的currentIndex赋值
    this.setData({
      currentIndex: index,
      rightCates,
      // 重新设置右侧滚动条距离顶部的距离为0
      scrollTop: 0
    })

  }

})